!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define("rb_wixui.thunderbolt[GoogleMap]",["react","reactDOM"],t):"object"==typeof exports?exports["rb_wixui.thunderbolt[GoogleMap]"]=t(require("react"),require("react-dom")):e["rb_wixui.thunderbolt[GoogleMap]"]=t(e.React,e.ReactDOM)}("u">typeof self?self:this,(e,t)=>(()=>{"use strict";var n,r,o,l,a,i,s={89094(e,t,n){var r=n(87006),o=Symbol.for("react.element"),l=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,l={},u=null,c=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,r)&&!s.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===l[r]&&(l[r]=t[r]);return{$$typeof:o,type:e,key:u,ref:c,props:l,_owner:i.current}}t.Fragment=l,t.jsx=u,t.jsxs=u},36870(e,t,n){e.exports=n(89094)},10121(e,t,n){let r,o,l;n.r(t),n.d(t,{components:()=>tj});var a=n(36870),i=n(87006),s=n.t(i,2);let u=function(){for(var e,t,n=0,r="";nObject.entries(e).reduce((e,[t,n])=>(t.includes("data-")&&(e[t]=n),e),{}),d="wixui-",f=(e,...t)=>{let n=[];return e&&n.push(`${d}${e}`),t.forEach(e=>{e&&(n.push(`${d}${e}`),n.push(e))}),n.join(" ")};((e,t,n=[])=>(e.reduce((e,t)=>({...e,[t]:!0}),{}),n.length&&((e,r)=>t(n.reduce((e,t)=>t(e),e),r))))(["isSocialElementsBlocked"],e=>{let{isSocialElementsBlocked:t}=e;return t?"WithConsentWrapper":void 0});let g="google-map";function p(){let e=i.useRef([]);return[i.useCallback(()=>new Promise(t=>e.current.push(t)),[]),i.useCallback(t=>{e.current.forEach(e=>e(t)),e.current.length=0},[])]}let m=(e,t)=>{if(e||t){if(t)return{path:e,fillColor:t,strokeColor:t,fillOpacity:1,scale:.5};var n=e;if(n&&n.endsWith(".webp"))try{let e=n.match(/media\/[^/]+/)[0].split(".")[1];n=n.replace(/.webp$/,`.${e}`)}catch(e){}return n}},h=(e,t)=>e.map(e=>({...e,icon:m(e.pinIcon,e.pinColor)||t&&m(t.pinIcon,t?.pinColor)})),y=["iw","ar","ur","fa"],b={GoogleMapSkin:"DDi8v8",googleMapSkin:"DDi8v8",mapContainer:"oD_vT7",GoogleMapDefault:"ZzH1gE",googleMapDefault:"ZzH1gE",GoogleMapSloppy:"d45pDW",googleMapSloppy:"d45pDW",brd:"BIO33b",one:"tq8JQN",two:"wiMpk0",GoogleMapLiftedShadow:"PhoT72",googleMapLiftedShadow:"PhoT72",shd:"Yg0Qgp",left:"u2ipRh",right:"JNSeQ8"},v={GoogleMapLiftedShadow:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:u(b.left,b.shd)}),(0,a.jsx)("div",{className:u(b.right,b.shd)})]}),GoogleMapSloppy:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:u(b.brd,b.one)}),(0,a.jsx)("div",{className:u(b.brd,b.two)})]}),GoogleMapSkin:()=>(0,a.jsx)(a.Fragment,{}),GoogleMapDefault:()=>(0,a.jsx)(a.Fragment,{})},E=n.p+"media/googleMap.f3347ff6.html",O=n.p+"media/google-map.min.9a2bea98.js",C=i.forwardRef((e,t)=>{let n,r,{id:o,className:l,customClassNames:s=[],skin:d,urlQueries:m,mapData:C,translations:w,isConsentPolicyActive:S,onUpdateCenter:k,onUpdateZoom:j,onMarkerClicked:M,onMapClicked:A,onMouseEnter:L,onMouseLeave:I,isEditorMode:P,language:x,onMapMount:N,lang:_,hasFocus:R}=e,T=v[d],D=(n=new URLSearchParams({googleMapsScriptPath:new URL(O).pathname}),"u">typeof window&&n.append("origin",window.origin),void 0!==R&&n.append("hasFocus",R.toString()),`${E}?${m}&${n}`),[F,z]=i.useState(!1),[U]=function(e,t,n){let{mapData:r,language:o,isEditorMode:l}=t,{onUpdateZoom:a,onUpdateCenter:s,onMarkerClicked:u,onMapClicked:c}=n,d=(0,i.useRef)([]),f=(0,i.useRef)(null),g=(0,i.useMemo)(()=>void 0!==r.defaultLocation?{pinIcon:r.locations[r.defaultLocation]?.pinIcon??"",pinColor:r.locations[r.defaultLocation]?.pinColor??""}:void 0,[r.defaultLocation,r.locations]),[m,b]=p(),[v,E]=p(),[O,C]=p(),[w,S]=p(),[k,j]=p(),[M,A]=p(),[L,I]=p(),[P,x]=(0,i.useState)(!1),N=(e,t)=>h(f.current||e,t),_=(0,i.useMemo)(()=>({...r,locations:N(r.locations,g)}),[r,g]),R=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=(0,i.useRef)(t);return(0,i.useEffect)(()=>{n.current=e},[e]),n.current}(_),T={CENTER_UPDATED:e=>s?.(e),ZOOM_UPDATED:e=>a?.({zoom:e}),MARKER_CLICKED:e=>u?.({type:"markerClicked",...e}),MAP_CLICKED:e=>{let{longitude:t,latitude:n,...r}=e;return c?.({type:"mapClicked",location:{longitude:t,latitude:n},...r})},MARKERS:e=>b(e),MAP_IDLE:()=>{let e=d.current.shift();e?.()},TILES_LOADED:()=>{P||x(!0)},SET_MARKER_ICON_FINISHED:()=>I()},D={load:e=>{let{_sendMessage:t}=e;t({type:"SET_INITIAL_LOCATIONS",data:JSON.stringify({...r,locations:N(r.locations)})},{forceSend:!0}),t({type:"SET_DIRECTION",data:JSON.stringify({direction:y.includes(o)?"rtl":"ltr"})})},message:e=>{let{event:t}=e;if("string"==typeof t.payload){let{type:e,data:n}=JSON.parse(t.payload);T[e]?.(n)}}},[F,z]=function(e){let{reducer:t=()=>({}),iframeLoaded:n}=e,r=(0,i.useRef)([]),o=(0,i.useRef)(void 0),l=(0,i.useRef)(void 0),a=(0,i.useRef)(void 0),s=(0,i.useCallback)((e,t)=>{if(o.current&&n||t?.forceSend){let t=o.current?.contentWindow;t?.postMessage(e,"*");return}if(!o.current||!l.current||!1===n)return void r.current.push(e);let a=o.current.contentWindow;a?.postMessage(e,"*")},[n]),u=(0,i.useCallback)(()=>{0!==r.current.length&&!1!==n&&(r.current.forEach(e=>s(e)),r.current=[])},[s,n]),c=(0,i.useCallback)(e=>{if(a.current&&(a.current(),a.current=void 0),!e)return;let n=()=>{l.current=!0,u(),t({type:"load"},s)};e.addEventListener("load",n),o.current=e,a.current=()=>{e.removeEventListener("load",n)}},[t,s,u]);return(0,i.useEffect)(()=>{n&&u()},[n,u]),(0,i.useEffect)(()=>{if(!("u">typeof window))return;let e=e=>{e.source&&e.source!==o.current?.contentWindow||t({type:"message",payload:e.data},s)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t,s]),[c,s]}({reducer:(e,t)=>D[e.type]?.({event:e,_sendMessage:t}),iframeLoaded:P});return(0,i.useImperativeHandle)(e,()=>({setMapCenter:(e,t)=>{let n=v();return z({type:"SET_CENTER",data:JSON.stringify({longitude:e,latitude:t})}),d.current.push(E),n},fitBounds:e=>{let{north:t,east:n,west:r,south:o}=e,l=w();return z({type:"FIT_BOUNDS",data:JSON.stringify({north:t,east:n,west:r,south:o})}),d.current.push(S),l},setMarkerIcon:e=>{let{locations:t,coordinates:n,iconOptions:r}=e,o=L();return f.current=t,z({type:"SET_MARKER_ICON",data:JSON.stringify({...n,iconOptions:r})}),o},setMapZoom:e=>{let t=O();return z({type:"SET_ZOOM",data:e}),d.current.push(C),t},getVisibleMarkers:()=>{let e=m();return z({type:"GET_MARKERS"}),e},openInfoWindow:e=>{if(!_.showDirectionsLink){let t=M();return z({type:"OPEN_INFO_WINDOW",data:JSON.stringify({locationIndex:e})}),d.current.push(A),t}return new Promise(e=>e())},setMarkers:(e,t)=>{let n=k();return f.current=e,z(JSON.stringify({..._,locations:h(e,g),openInfoWindow:t?.openInfoWindow})),d.current.push(j),n}})),(0,i.useEffect)(()=>{var e,t;if(!P||!l)return;let n=!!R&&(e=_.locations,t=R.locations,e.length===t.length&&e.every((e,n)=>{let r=Object.keys(e);return r.length===Object.keys(t[n]).length&&r.every(r=>"locationLinkAttributes"===r||e[r]===t[n][r])}));z(JSON.stringify({..._,locations:N(_.locations,g),shouldKeepMarkers:n}))},[_,z,g,P,R,l]),[F]}(t,{mapData:C,isEditorMode:P,language:x},{onUpdateCenter:k,onUpdateZoom:j,onMarkerClicked:M,onMapClicked:A});i.useEffect(()=>{z(!0)},[D]),i.useEffect(()=>{N?.()},[N]);let J=w.title,B=(r={id:o,className:u(b[d],b.wixIframe,l,f(g,...s)),...c(e),lang:_},S?{}:r);return(0,a.jsx)("div",{...B,children:F&&(0,a.jsxs)("wix-iframe",{"data-src":D,children:[(0,a.jsx)(T,{}),(0,a.jsx)("div",{id:`mapContainer_${o}`,onMouseEnter:L,onMouseLeave:I,className:b.mapContainer,children:(0,a.jsx)("iframe",{ref:U,title:J,"data-src":D,width:"100%",height:"100%",frameBorder:"0",scrolling:"no",allowFullScreen:!0})})]})})}),w={mapContainer:"tE8VE3"},S=(0,i.forwardRef)((e,t)=>{let{id:n,className:r,skin:o,customClassNames:l=[],translations:i,lang:s,onMouseEnter:d,onMouseLeave:p,MapContent:m}=e,h={id:n,className:u(w[o],r,f(g,...l)),...c(e),lang:s};return(0,a.jsx)("div",{...h,onMouseEnter:d,onMouseLeave:p,children:(0,a.jsx)("div",{className:w.mapContainer,"aria-label":i.title,role:"region",children:(0,a.jsx)(m,{...e,ref:t})})})});var k=n(45904);function j(e,t,n){let r=(0,i.useRef)(null);(0,i.useEffect)(()=>{e&&(void 0!==n||r.current===e)&&(r.current=e,e[t]=n)},[e,t,n])}let M=Object.assign({},s),A=M.useInsertionEffect,L=A&&A!==M.useLayoutEffect?A:e=>{e()};function I(){throw Error("useEffectEvent: invalid call during rendering.")}let P=function(e){let t=(0,i.useRef)(I);return L(()=>{t.current=e},[e]),(...e)=>t.current(...e)},x=()=>{};function N(e,t,n){let r=P(null!=n?n:x),o=!!n;(0,i.useEffect)(()=>{if(e&&t&&o)return e.addEventListener(t,r),()=>e.removeEventListener(t,r)},[e,t,o])}function _(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function R(e,t,n,r){return new(n||(n=Promise))(function(o,l){function a(e){try{s(r.next(e))}catch(e){l(e)}}function i(e){try{s(r.throw(e))}catch(e){l(e)}}function s(e){var t;e.done?o(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(a,i)}s((r=r.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;let T=()=>{},D="@googlemaps/js-api-loader",F={createScriptURL:e=>e},z=!1;function U(e){if(z)return void T(`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`);e.apiKey&&(T(),e.key||(e.key=e.apiKey)),function(e){var t,n,o,l,a,i,s,u,c,d,f;let g=!!window.google?.maps?.importLibrary;g&&JSON.stringify(e);g||(l="google",a="importLibrary",i=document,c=(u=(s=window)[l]||(s[l]={})).maps||(u.maps={}),d=new Set,f=new URLSearchParams,c[a]?console.warn("The Google Maps JavaScript API only loads once. Ignoring:",e):c[a]=(s,...u)=>d.add(s)&&(t||(t=new Promise(async(a,s)=>{var u,g;for(o in await (n=i.createElement("script")),f.set("libraries",[...d]+""),e)f.set(o.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[o]);f.set("callback",l+".maps.__ib__"),u=n,g="https://maps.googleapis.com/maps/api/js?"+f,u.src=(function(){if(r)return r;let e=globalThis.trustedTypes;if(!e)return r=F;try{r=e.createPolicy(D,{createScriptURL:e=>e})}catch(e){T(`Failed to create Trusted Types policy "${D}": ${e instanceof Error?e.message:String(e)}. If your Content Security Policy uses "require-trusted-types-for 'script'", allow this policy with "trusted-types ${D} google-maps-api-loader google-maps-api#html lit-html". The "google-maps-api-loader", "lit-html", and "google-maps-api#html" policies are required for full Maps JavaScript API execution. Falling back to a string script URL.`),r=F}return r})().createScriptURL(g),c.__ib__=a,n.onerror=()=>t=s(Error("The Google Maps JavaScript API could not load.")),n.nonce=i.querySelector("script[nonce]")?.nonce||"",i.head.append(n)}))).then(()=>c[a](s,...u)))}(e),z=!0}async function J(e){if(z||T(),!window?.google?.maps?.importLibrary)throw Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}let B="NOT_LOADED",H="LOADING",$="LOADED",q=["gmp_visgl_reactgooglemaps_v1.10.1"],Z=i.createContext(null),W=B,G=new Set;function V(e){e!==W&&(W=e,G.forEach(e=>e(W)))}let K=e=>{let{children:t}=e,n=_(e,["children"]),{mapInstances:r,addMapInstance:l,removeMapInstance:a,clearMapInstances:s}=function(){let[e,t]=(0,i.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMapInstance:(e="default")=>{t(t=>(t[e],_(t,["symbol"==typeof e?e:e+""])))},clearMapInstances:()=>{t({})}}}(),{map3dInstances:u,addMap3DInstance:c,removeMap3DInstance:d,clearMap3DInstances:f}=function(){let[e,t]=(0,i.useState)({});return{map3dInstances:e,addMap3DInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMap3DInstance:(e="default")=>{t(t=>(t[e],_(t,["symbol"==typeof e?e:e+""])))},clearMap3DInstances:()=>{t({})}}}(),{status:g,loadedLibraries:p,importLibrary:m}=function(e){let{onLoad:t,onError:n,apiKey:r,version:l,libraries:a=[],region:s,language:u,authReferrerPolicy:c,channel:d,solutionChannel:f,fetchAppCheckToken:g}=e,[p,m]=(0,i.useState)(W),[h,y]=(0,i.useReducer)((e,t)=>e[t.name]?e:Object.assign(Object.assign({},e),{[t.name]:t.value}),{}),b=(0,i.useMemo)(()=>JSON.stringify({apiKey:r,version:l,libraries:a.join(","),region:s,language:u,authReferrerPolicy:c,channel:d,solutionChannel:f}),[r,l,a,s,u,c,d,f]),v=(0,i.useCallback)(e=>R(this,void 0,void 0,function*(){if(h[e])return h[e];let t=yield J(e);return y({name:e,value:t}),t}),[h]);return(0,i.useEffect)(()=>(G.add(m),m(W),()=>{G.delete(m)}),[]),(0,i.useEffect)(()=>{R(this,void 0,void 0,function*(){var e,i;try{o&&o!==b&&console.warn("The Google Maps JavaScript API has already been loaded with different parameters. The new parameters will be ignored. If you need to use different parameters, please refresh the page.");let n=["core","maps",...a],g=Object.fromEntries(Object.entries({key:r,v:l,libraries:a,region:s,language:u,authReferrerPolicy:c}).filter(([,e])=>void 0!==e));if(void 0!==d&&d>=0&&d<=999&&(g.channel=String(d)),void 0===f?g.solutionChannel="GMP_visgl_rgmlibrary_v1_default":""!==f&&(g.solutionChannel=f),null==(i=null==(e=window.google)?void 0:e.maps)?void 0:i.importLibrary){let e=!o;e&&(o=b,U(g)),yield Promise.all(n.map(e=>v(e))),e&&V($),t&&t();return}if(W===H||W===$){W===$&&t&&t();return}o=b,V(H),U(g),yield Promise.all(n.map(e=>v(e))),V($),t&&t()}catch(e){V("FAILED"),n?n(e):console.error("The Google Maps JavaScript API failed to load.",e)}})},[b,t,n,v,a]),(0,i.useEffect)(()=>{if(p!==$)return;let e=google.maps.Settings.getInstance();g&&(e.fetchAppCheckToken=g)},[p,g]),{status:p,loadedLibraries:h,importLibrary:v}}(n),h=(0,i.useMemo)(()=>n.disableUsageAttribution?null:q,[n.disableUsageAttribution]),y=(0,i.useMemo)(()=>({mapInstances:r,addMapInstance:l,removeMapInstance:a,clearMapInstances:s,map3dInstances:u,addMap3DInstance:c,removeMap3DInstance:d,clearMap3DInstances:f,status:g,loadedLibraries:p,importLibrary:m,internalUsageAttributionIds:h}),[r,l,a,s,u,c,d,f,g,p,m,h]);return i.createElement(Z.Provider,{value:y},t)};function Y(){let[e,t]=(0,i.useState)(null);return[e,(0,i.useCallback)(e=>t(e),[t])]}function Q(){var e;return(null==(e=(0,i.useContext)(Z))?void 0:e.status)||B}function X(e){var t;let n=Q()===$,r=(0,i.useContext)(Z);return(0,i.useEffect)(()=>{n&&r&&r.importLibrary(e)},[n,r,e]),null!=(t=null==r?void 0:r.loadedLibraries[e])?t:null}function ee(){let[,e]=(0,i.useReducer)(e=>e+1,0);return e}let et={center:{lat:0,lng:0,altitude:0},range:0,heading:0,tilt:0,roll:0},en=["center","range","heading","tilt","roll"],er=["gmp-centerchange","gmp-headingchange","gmp-tiltchange","gmp-rangechange","gmp-rollchange"];function eo(e,t){let n=e.center;return{type:t,map3d:e,detail:{center:n&&"toJSON"in n&&"function"==typeof n.toJSON?n.toJSON():n||{lat:0,lng:0,altitude:0},range:e.range||0,heading:e.heading||0,tilt:e.tilt||0,roll:e.roll||0}}}function el(e,t,n,r){(0,i.useEffect)(()=>{if(!e||!n)return;let o=()=>{n(r(e,t))};return e.addEventListener(t,o),()=>e.removeEventListener(t,o)},[e,t,n,r])}function ea(e,t){let n=(0,i.useRef)(e);return t(e,n.current)||(n.current=e),n.current}let{getOwnPropertyNames:ei,getOwnPropertySymbols:es}=Object,{hasOwnProperty:eu}=Object.prototype;function ec(e,t){return function(n,r,o){return e(n,r,o)&&t(n,r,o)}}function ed(e){return function(t,n,r){if(!t||!n||"object"!=typeof t||"object"!=typeof n)return e(t,n,r);let{cache:o}=r,l=o.get(t),a=o.get(n);if(l&&a)return l===n&&a===t;o.set(t,n),o.set(n,t);let i=e(t,n,r);return o.delete(t),o.delete(n),i}}function ef(e){let t=es(e);return t.length?ei(e).concat(t):ei(e)}let eg=Object.hasOwn||((e,t)=>eu.call(e,t)),ep="u">typeof Float16Array,{getOwnPropertyDescriptor:em,keys:eh}=Object,ey=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};function eb(e,t){return e===t}function ev(e,t){return e.byteLength===t.byteLength&&eI(new Uint8Array(e),new Uint8Array(t))}function eE(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function eO(e,t){return e.byteLength===t.byteLength&&eI(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function eC(e,t){return ey(e.getTime(),t.getTime())}function ew(e,t,n){return e.name===t.name&&e.message===t.message&&e.stack===t.stack&&n.equals(e.cause,t.cause,"cause","cause",e,t,n)}function eS(e,t,n){let r,o,l=e.size;if(l!==t.size)return!1;if(!l)return!0;let a=new Uint8Array(l),i=e.entries(),s=0;for(;(r=i.next())&&!r.done;){let l=t.entries(),i=0,u=0;for(;(o=l.next())&&!o.done;){if(a[u]){u++;continue}let l=r.value,c=o.value;if(n.equals(l[0],c[0],s,u,e,t,n)&&n.equals(l[1],c[1],l[0],c[0],e,t,n)){i=a[u]=1;break}u++}if(!i)return!1;s++}return!0}function ek(e,t,n){let r=eh(e),o=r.length;if(eh(t).length!==o)return!1;for(;o-- >0;)if(!eN(e,t,n,r[o]))return!1;return!0}function ej(e,t,n){let r,o,l,a=ef(e),i=a.length;if(ef(t).length!==i)return!1;for(;i-- >0;)if(!eN(e,t,n,r=a[i])||(o=em(e,r),l=em(t,r),(o||l)&&(!o||!l||o.configurable!==l.configurable||o.enumerable!==l.enumerable||o.writable!==l.writable)))return!1;return!0}function eM(e,t){return ey(e.valueOf(),t.valueOf())}function eA(e,t){return e.source===t.source&&e.flags===t.flags}function eL(e,t,n){let r,o,l=e.size;if(l!==t.size)return!1;if(!l)return!0;let a=new Uint8Array(l),i=e.values();for(;(r=i.next())&&!r.done;){let l=t.values(),i=0,s=0;for(;(o=l.next())&&!o.done;){if(!a[s]&&n.equals(r.value,o.value,r.value,o.value,e,t,n)){i=a[s]=1;break}s++}if(!i)return!1}return!0}function eI(e,t){let n=e.length;if(t.length!==n||e.byteOffset!==t.byteOffset)return!1;if(e instanceof Float64Array||e instanceof Float32Array||ep&&e instanceof Float16Array){for(;n-- >0;)if(e[n]!==t[n]&&(e[n]==e[n]||t[n]==t[n]))return!1;return!0}for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function eP(e,t){var n,r;let o,l;return e.href===t.href||e.protocol===t.protocol&&e.username===t.username&&e.password===t.password&&e.host===t.host&&e.pathname===t.pathname&&e.hash===t.hash&&(n=e.searchParams,r=t.searchParams,o=n.toString(),o===(l=r.toString())||ex(o)===ex(l))}function ex(e){return e.split("&").sort().join("&")}function eN(e,t,n,r){return("_owner"===r||"__o"===r||"__v"===r)&&(!!e.$$typeof||!!t.$$typeof)||eg(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}let e_=Object.prototype.toString,eR=eT();function eT(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:o=!1}=e,l=function(e){let t=function({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:o,areFunctionsEqual:l,areMapsEqual:a,areObjectsEqual:i,arePrimitiveWrappersEqual:s,areRegExpsEqual:u,areSetsEqual:c,areTypedArraysEqual:d,areUrlsEqual:f}){return{"[object Arguments]":i,"[object Array]":t,"[object ArrayBuffer]":e,"[object AsyncGeneratorFunction]":l,"[object BigInt]":s,"[object BigInt64Array]":d,"[object BigUint64Array]":d,"[object Boolean]":s,"[object DataView]":n,"[object Date]":r,"[object Error]":o,"[object Float16Array]":d,"[object Float32Array]":d,"[object Float64Array]":d,"[object Function]":l,"[object GeneratorFunction]":l,"[object Int8Array]":d,"[object Int16Array]":d,"[object Int32Array]":d,"[object Map]":a,"[object Number]":s,"[object Object]":(e,t,n)=>"function"!=typeof e.then&&"function"!=typeof t.then&&i(e,t,n),"[object RegExp]":u,"[object Set]":c,"[object String]":s,"[object URL]":f,"[object Uint8Array]":d,"[object Uint8ClampedArray]":d,"[object Uint16Array]":d,"[object Uint32Array]":d}}(e),{areArraysEqual:n,areDatesEqual:r,areFunctionsEqual:o,areMapsEqual:l,areNumbersEqual:a,areObjectsEqual:i,areRegExpsEqual:s,areSetsEqual:u,getUnsupportedCustomComparator:c}=e;return function(e,d,f){if(e===d)return!0;if(null==e||null==d)return!1;let g=typeof e;if(g!==typeof d)return!1;if("object"!==g)return"number"===g||"bigint"===g?a(e,d,f):"function"===g&&o(e,d,f);let p=e.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(e,d,f);if(p===Array)return n(e,d,f);if(p===Date)return r(e,d,f);if(p===RegExp)return s(e,d,f);if(p===Map)return l(e,d,f);if(p===Set)return u(e,d,f);if(p===Promise)return!1;if(Array.isArray(e))return n(e,d,f);let m=e_.call(e),h=t[m];if(h)return h(e,d,f);let y=c&&c(e,d,f,m);return!!y&&y(e,d,f)}}(function({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:ev,areArraysEqual:n?ej:eE,areDataViewsEqual:eO,areDatesEqual:eC,areErrorsEqual:n?ec(ew,ej):ec(ew,ek),areFunctionsEqual:eb,areMapsEqual:n?ec(eS,ej):eS,areNumbersEqual:ey,areObjectsEqual:n?ej:ek,arePrimitiveWrappersEqual:eM,areRegExpsEqual:eA,areSetsEqual:n?ec(eL,ej):eL,areTypedArraysEqual:n?ec(eI,ej):eI,areUrlsEqual:eP,getUnsupportedCustomComparator:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=ed(r.areArraysEqual),t=ed(r.areErrorsEqual),n=ed(r.areMapsEqual),o=ed(r.areObjectsEqual),l=ed(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areErrorsEqual:t,areMapsEqual:n,areObjectsEqual:o,areSetsEqual:l})}return r}(e)),a=n?n(l):function(e,t,n,r,o,a,i){return l(e,t,i)};return function({circular:e,comparator:t,createState:n,equals:r,strict:o}){if(n)return function(l,a){let{cache:i=e?new WeakMap:void 0,meta:s}=n();return t(l,a,{cache:i,equals:r,meta:s,strict:o})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:o})};let l={cache:void 0,equals:r,meta:void 0,strict:o};return function(e,n){return t(e,n,l)}}({circular:t,comparator:l,createState:r,equals:a,strict:o})}function eD(e,t){(0,i.useEffect)(e,[ea(t,eR)])}eT({strict:!0}),eT({circular:!0}),eT({circular:!0,strict:!0}),eT({createInternalComparator:()=>ey}),eT({strict:!0,createInternalComparator:()=>ey}),eT({circular:!0,createInternalComparator:()=>ey}),eT({circular:!0,createInternalComparator:()=>ey,strict:!0});let eF=new Set(["bounds","defaultUIHidden","gestureHandling","internalUsageAttributionIds","maxAltitude","maxHeading","maxTilt","minAltitude","minHeading","minTilt","mode"]),ez=i.createContext(null),eU={width:"100%",height:"100%",position:"relative"};(0,i.forwardRef)((e,t)=>{var n,r,o,l,a,s,u,c;let d,f,g,p,m,h,y,b,v,{children:E,id:O,className:C,style:w}=e,S=(0,i.useContext)(Z);if(!S)throw Error(" can only be used inside an component.");let{addMap3DInstance:k,removeMap3DInstance:j}=S,[M,A,L,I,P]=function(e){let t,n,r=X("maps3d"),[o,l]=(0,i.useState)(!1),[,a]=Y(),[s,u]=Y(),c=(t=ee(),n=(0,i.useRef)(Object.assign({},et)),(0,i.useEffect)(()=>{if(!s)return;let e=[];for(let r of en){let o=`gmp-${r}change`,l=()=>{!function(e,t,n){let r=e[n];null!=r&&("center"===n?t.current.center=r.toJSON?r.toJSON():r:t.current[n]=r)}(s,n,r),t()};s.addEventListener(o,l),e.push(()=>s.removeEventListener(o,l))}return()=>{for(let t of e)t()}},[s,t]),n);return(0,i.useEffect)(()=>{customElements.whenDefined("gmp-map-3d").then(()=>{l(!0)})},[]),(0,i.useEffect)(()=>{if(!s)return;let{center:t,heading:n,tilt:r,range:o,roll:l,defaultCenter:a,defaultHeading:i,defaultTilt:u,defaultRange:c,defaultRoll:d,id:f,style:g,className:p,children:m,onCenterChanged:h,onHeadingChanged:y,onTiltChanged:b,onRangeChanged:v,onRollChanged:E,onCameraChanged:O,onClick:C,onSteadyChange:w,onAnimationEnd:S,onError:k,mode:j,gestureHandling:M}=e,A=_(e,["center","heading","tilt","range","roll","defaultCenter","defaultHeading","defaultTilt","defaultRange","defaultRoll","id","style","className","children","onCenterChanged","onHeadingChanged","onTiltChanged","onRangeChanged","onRollChanged","onCameraChanged","onClick","onSteadyChange","onAnimationEnd","onError","mode","gestureHandling"]),L=null!=t?t:a,I=null!=n?n:i,P=null!=r?r:u,x=null!=o?o:c,N=null!=l?l:d,R=Object.assign({},A);L&&(R.center=L),void 0!==I&&(R.heading=I),void 0!==P&&(R.tilt=P),void 0!==x&&(R.range=x),void 0!==N&&(R.roll=N),Object.assign(s,R)},[s]),[s,a,u,c,!!r&&o]}(e);f=null!=(n=null==(d=(c=e.center)?"toJSON"in c&&"function"==typeof c.toJSON?c.toJSON():c:null)?void 0:d.lat)?n:null,g=null!=(r=null==d?void 0:d.lng)?r:null,p=null!=(o=null==d?void 0:d.altitude)?o:null,m=null!=(l=e.range)?l:null,h=null!=(a=e.heading)?a:null,y=null!=(s=e.tilt)?s:null,b=null!=(u=e.roll)?u:null,(0,i.useLayoutEffect)(()=>{var e;if(!M)return;let t=I.current;null!==f&&null!==g&&(t.center.lat!==f||t.center.lng!==g||null!==p&&t.center.altitude!==p)&&(M.center={lat:f,lng:g,altitude:null!=(e=null!=p?p:t.center.altitude)?e:0}),null!==m&&t.range!==m&&(M.range=m),null!==h&&t.heading!==h&&(M.heading=h),null!==y&&t.tilt!==y&&(M.tilt=y),null!==b&&t.roll!==b&&(M.roll=b)}),function(e,t){let{onCenterChanged:n,onHeadingChanged:r,onTiltChanged:o,onRangeChanged:l,onRollChanged:a,onCameraChanged:s,onClick:u,onSteadyChange:c,onAnimationEnd:d,onError:f}=t;el(e,"gmp-centerchange",n,eo),el(e,"gmp-headingchange",r,eo),el(e,"gmp-tiltchange",o,eo),el(e,"gmp-rangechange",l,eo),el(e,"gmp-rollchange",a,eo),(0,i.useEffect)(()=>{if(!e||!s)return;let t=()=>{s(eo(e,"camerachange"))};for(let n of er)e.addEventListener(n,t);return()=>{for(let n of er)e.removeEventListener(n,t)}},[e,s]),(0,i.useEffect)(()=>{if(!e||!u)return;let t=t=>{u({type:"gmp-click",map3d:e,detail:{position:t.position||null,placeId:t.placeId}})};return e.addEventListener("gmp-click",t),()=>e.removeEventListener("gmp-click",t)},[e,u]),(0,i.useEffect)(()=>{if(!e||!c)return;let t=t=>{c({type:"gmp-steadychange",map3d:e,detail:{isSteady:t.isSteady}})};return e.addEventListener("gmp-steadychange",t),()=>e.removeEventListener("gmp-steadychange",t)},[e,c]),el(e,"gmp-animationend",d,(e,t)=>({type:t,map3d:e})),el(e,"gmp-error",f,(e,t)=>({type:t,map3d:e}))}(M,e),eD(()=>{M&&Object.assign(M,v)},[M,v=(0,i.useMemo)(()=>{let t={};for(let n of Object.keys(e)){if(!eF.has(n))continue;let r=e[n];void 0!==r&&(t[n]=r)}return t},[e])]),(0,i.useEffect)(()=>{if(!M)return;let e=null!=O?O:"default";return k(M,e),()=>{j(e)}},[M,O]),(0,i.useImperativeHandle)(t,()=>({map3d:M,flyCameraAround:e=>{null==M||M.flyCameraAround(e)},flyCameraTo:e=>{null==M||M.flyCameraTo(e)},stopCameraAnimation:()=>{null==M||M.stopCameraAnimation()}}),[M]);let x=(0,i.useMemo)(()=>Object.assign(Object.assign({},eU),w),[w]),N=(0,i.useMemo)(()=>({map3d:M}),[M]);return P?i.createElement("div",Object.assign({ref:A,"data-testid":"map-3d",style:C?void 0:x,className:C},O?{id:O}:{}),i.createElement("gmp-map-3d",{ref:L,style:{width:"100%",height:"100%"}},M&&i.createElement(ez.Provider,{value:N},E))):i.createElement("div",Object.assign({ref:A,"data-testid":"map-3d",style:C?void 0:x,className:C},O?{id:O}:{}))}).displayName="Map3D";let eJ=(0,i.createContext)(null);function eB(e,t,n){if(null!=t&&"object"!=typeof t)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");let r=e.style;if(null==n){if(null==t)return;for(let e in t)t.hasOwnProperty(e)&&eH(r,e,t[e]);return}for(let e in n)n.hasOwnProperty(e)&&(null==t||!t.hasOwnProperty(e))&&(0===e.indexOf("--")?r.setProperty(e,""):"float"===e?r.cssFloat="":r[e]="");if(null!=t)for(let e in t){let o=t[e];t.hasOwnProperty(e)&&n[e]!==o&&eH(r,e,o)}}function eH(e,t,n){var r;let o=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?o?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":o?e.setProperty(t,n):"number"!=typeof n||0===n||(r=t,e$.has(r))?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}(0,i.forwardRef)(function(e,t){let{children:n,onClick:r,position:o,altitudeMode:l,collisionBehavior:a,drawsWhenOccluded:s,extruded:u,label:c,sizePreserved:d,zIndex:f,title:g}=e,p=!!r,[m,h]=(0,i.useState)(null),[y,b]=(0,i.useState)(!1),v=(0,i.useMemo)(()=>{let e=document.createElement("div");return e.style.display="none",document.body.appendChild(e),e},[]);(0,i.useEffect)(()=>()=>v.remove(),[v]);let E=(0,i.useCallback)(e=>{h(e),"function"==typeof t?t(e):t&&(t.current=e)},[t]);N(m,"gmp-click",r),(0,i.useLayoutEffect)(()=>{if(!y&&m&&v){for(;m.firstChild;)m.removeChild(m.firstChild);for(let e of Array.from(v.childNodes)){if(e.nodeType!==Node.ELEMENT_NODE)continue;let t=e.tagName.toLowerCase();if("img"===t||"svg"===t){let t=document.createElement("template");t.content.appendChild(e.cloneNode(!0)),m.appendChild(t)}else m.appendChild(e.cloneNode(!0))}}},[m,v,n,y]);let O=(0,i.useMemo)(()=>({marker:m,setContentHandledExternally:b}),[m]);return j(m,"position",o),j(m,"altitudeMode",l),j(m,"collisionBehavior",a),j(m,"drawsWhenOccluded",s),j(m,"extruded",u),j(m,"label",c),j(m,"sizePreserved",d),j(m,"zIndex",f),j(m,"title",null!=g?g:""),i.createElement(eJ.Provider,{value:O},p?i.createElement("gmp-marker-3d-interactive",{ref:E}):i.createElement("gmp-marker-3d",{ref:E}),(0,k.createPortal)(n,v))}).displayName="Marker3D";let e$=new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]);(0,i.forwardRef)(function(e,t){var n,r,o,l;let a,s,{children:u,headerContent:c,style:d,className:f,open:g=!0,position:p,anchor:m,anchorId:h,altitudeMode:y,lightDismissDisabled:b,autoPanDisabled:v,onClose:E}=e,[O,C]=(0,i.useState)(null),w=(0,i.useRef)(null);return(0,i.useImperativeHandle)(t,()=>O,[O]),r=O,o=g,l=E,a=(0,i.useRef)(void 0),s=(0,i.useRef)(o),(0,i.useEffect)(()=>{s.current=o},[o]),(0,i.useEffect)(()=>{if(!r||!l)return;let e=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"open"===t.attributeName){let e=r.hasAttribute("open");!0!==a.current||e||!1===s.current||l(),a.current=e}});return e.observe(r,{attributes:!0,attributeFilter:["open"]}),a.current=r.hasAttribute("open"),()=>{e.disconnect()}},[r,l]),j(O,"open",null!=g&&g),j(O,"altitudeMode",y),j(O,"lightDismissDisabled",b),j(O,"autoPanDisabled",v),j(O,"positionAnchor",null!=(n=null!=m?m:h)?n:p),(0,i.useLayoutEffect)(()=>{O&&(eB(O,d||null,w.current),w.current=d||null)},[O,d]),i.createElement("gmp-popover",{ref:C,className:f},c&&i.createElement("div",{slot:"header"},c),u)}).displayName="Popover";let eq=new Set,eZ={onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onContextmenu:"contextmenu",onDblclick:"dblclick",onDrag:"drag",onDragend:"dragend",onDragstart:"dragstart",onHeadingChanged:"heading_changed",onIdle:"idle",onIsFractionalZoomEnabledChanged:"isfractionalzoomenabled_changed",onMapCapabilitiesChanged:"mapcapabilities_changed",onMapTypeIdChanged:"maptypeid_changed",onMousemove:"mousemove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},eW=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],eG=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],eV=Object.keys(eZ),eK=new Set(["backgroundColor","clickableIcons","controlSize","disableDefaultUI","disableDoubleClickZoom","draggable","draggableCursor","draggingCursor","fullscreenControl","fullscreenControlOptions","gestureHandling","headingInteractionEnabled","isFractionalZoomEnabled","keyboardShortcuts","mapTypeControl","mapTypeControlOptions","mapTypeId","maxZoom","minZoom","noClear","panControl","panControlOptions","restriction","rotateControl","rotateControlOptions","scaleControl","scaleControlOptions","scrollwheel","streetView","streetViewControl","streetViewControlOptions","styles","tiltInteractionEnabled","zoomControl","zoomControlOptions"]);function eY(e,t){if(!e||!t)return!1;let n=eQ(e),r=eQ(t);return n.lat===r.lat&&n.lng===r.lng}function eQ(e){return e&&"object"==typeof e&&"lat"in e&&"lng"in e&&Number.isFinite(e.lat)&&Number.isFinite(e.lng)?e:e.toJSON()}function eX(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;let t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function e0(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray():t;if(e.length!==n.length)return!1;for(let t=0;ti.createElement("div",{style:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:999,display:"flex",flexFlow:"column nowrap",textAlign:"center",justifyContent:"center",fontSize:".8rem",color:"rgba(0,0,0,0.6)",background:"#dddddd",padding:"1rem 1.5rem"}},i.createElement("h2",null,"Error: AuthFailure"),i.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",i.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."));class e8{static has(e){return this.entries[e]&&this.entries[e].length>0}static pop(e){return this.entries[e]&&this.entries[e].pop()||null}static push(e,t){this.entries[e]||(this.entries[e]=[]),this.entries[e].push(t)}}e8.entries={};let e3=i.createContext(null),e2=e=>{let t,n,r,o,l,a,{children:s,id:u,className:c,style:d}=e,f=(0,i.useContext)(Z),g=Q();if(!f)throw Error(" can only be used inside an component.");let[p,m,h]=function(e,t){let n,r,o=Q()===$,[l,a]=(0,i.useState)(null),[s,u]=Y(),c=(n=ee(),r=(0,i.useRef)({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0}),(0,i.useEffect)(()=>{if(!l)return;let e=google.maps.event.addListener(l,"bounds_changed",()=>{let e,t,o,a;e=l.getCenter(),t=l.getZoom(),o=l.getHeading()||0,a=l.getTilt()||0,e&&Number.isFinite(t)?Object.assign(r.current,{center:e.toJSON(),zoom:t,heading:o,tilt:a}):console.warn("[useTrackedCameraState] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),n()});return()=>e.remove()},[l,n]),r),{id:d,defaultBounds:f,defaultCenter:g,defaultZoom:p,defaultHeading:m,defaultTilt:h,reuseMaps:y,renderingType:b,colorScheme:v}=e,E=_(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),O=void 0!==e.zoom||void 0!==e.defaultZoom,C=void 0!==e.center||void 0!==e.defaultCenter;f||O&&C||console.warn(" component is missing configuration. You have to provide zoom and center (via the `zoom`/`defaultZoom` and `center`/`defaultCenter` props) or specify the region to show using `defaultBounds`. See https://visgl.github.io/react-google-maps/docs/api-reference/components/map#required"),!E.center&&g&&(E.center=g),!E.zoom&&Number.isFinite(p)&&(E.zoom=p),!E.heading&&Number.isFinite(m)&&(E.heading=m),!E.tilt&&Number.isFinite(h)&&(E.tilt=h);let w=E.internalUsageAttributionIds;for(let e of(null==w?E.internalUsageAttributionIds=t.internalUsageAttributionIds:E.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...w],Object.keys(E)))void 0===E[e]&&delete E[e];let S=(0,i.useRef)(void 0),k=(0,i.useRef)(y);return(0,i.useEffect)(()=>{k.current=y},[y]),(0,i.useEffect)(()=>{let n,r;if(!s||!o)return;let{addMapInstance:l,removeMapInstance:i}=t,{mapId:u}=e,g=`${u||"default"}:${b||"default"}:${v||"LIGHT"}`,p=k.current&&e8.has(g)?e8.pop(g):null,m=null==p?void 0:p.getDiv(),h=p&&m instanceof Node?p:null;if(h?(r=h,n=m,s.appendChild(n),r.setOptions(E),setTimeout(()=>r.moveCamera({}),0)):(p&&google.maps.event.clearInstanceListeners(p),(n=document.createElement("div")).style.height="100%",s.appendChild(n),r=new google.maps.Map(n,Object.assign(Object.assign(Object.assign({},E),b?{renderingType:b}:{}),v?{colorScheme:v}:{}))),a(r),l(r,d),f){let{padding:e}=f,t=_(f,["padding"]);r.fitBounds(t,e)}else O&&C||r.fitBounds({east:180,west:-180,south:-90,north:90});if(S.current){let{mapId:e,cameraState:t}=S.current;e!==u&&r.moveCamera(t)}return()=>{S.current={mapId:u,cameraState:c.current},n.remove(),k.current?e8.push(g,r):google.maps.event.clearInstanceListeners(r),a(null),i(d)}},[s,o,d,e.mapId,e.renderingType,e.colorScheme]),[l,u,c]}(e,f);for(let s of(t=e.center?eQ(e.center):null,n=null,r=null,t&&Number.isFinite(t.lat)&&Number.isFinite(t.lng)&&(n=t.lat,r=t.lng),o=Number.isFinite(e.zoom)?e.zoom:null,l=Number.isFinite(e.heading)?e.heading:null,a=Number.isFinite(e.tilt)?e.tilt:null,(0,i.useLayoutEffect)(()=>{if(!p)return;let e={},t=!1;null!==n&&null!==r&&(h.current.center.lat!==n||h.current.center.lng!==r)&&(e.center={lat:n,lng:r},t=!0),null!==o&&h.current.zoom!==o&&(e.zoom=o,t=!0),null!==l&&h.current.heading!==l&&(e.heading=l,t=!0),null!==a&&h.current.tilt!==a&&(e.tilt=a,t=!0),t&&p.moveCamera(e)}),eV)){let t=e[s],n=eZ[s];(0,i.useEffect)(()=>{if(!p||!t)return;let e=google.maps.event.addListener(p,n,e=>{let r=function(e,t,n){var r;let o={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(eW.includes(e)){let e=t.getCenter(),n=t.getZoom(),r=t.getHeading()||0,l=t.getTilt()||0,a=t.getBounds();return e&&a&&Number.isFinite(n)?(o.detail={center:e.toJSON(),zoom:n,heading:r,tilt:l,bounds:a.toJSON()},o):(console.warn("[createEvent] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),null)}if(eG.includes(e)){if(!n)throw Error("[createEvent] mouse events must provide a srcEvent");return o.domEvent=n.domEvent,o.stoppable=!0,o.stop=()=>n.stop(),o.detail={latLng:(null==(r=n.latLng)?void 0:r.toJSON())||null,placeId:n.placeId},o}return o}(n,p,e);r&&t(r)});return()=>e.remove()},[p,n,t])}let y={};for(let t of Object.keys(e))eK.has(t)&&(y[t]=e[t]);eD(()=>{p&&p.setOptions(y)},[y]);let b=function(e,t){let{viewport:n,viewState:r}=t;return(0,i.useLayoutEffect)(()=>{if(!e||!r)return;let{latitude:t,longitude:n,bearing:o,pitch:l,zoom:a}=r;e.moveCamera({center:{lat:t,lng:n},heading:o,tilt:l,zoom:a+1})},[e,r]),!!n}(p,e),v=!!e.controlled;(0,i.useEffect)(()=>{if(p)return b&&p.setOptions({disableDefaultUI:!0}),(b||v)&&p.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{p.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[p,b,v,e.gestureHandling,e.keyboardShortcuts]);let E=e.center?eQ(e.center):null,O=null,C=null;E&&Number.isFinite(E.lat)&&Number.isFinite(E.lng)&&(O=E.lat,C=E.lng);let w=(0,i.useMemo)(()=>{var t,n,r;return{center:{lat:null!=O?O:0,lng:null!=C?C:0},zoom:null!=(t=e.zoom)?t:0,heading:null!=(n=e.heading)?n:0,tilt:null!=(r=e.tilt)?r:0}},[O,C,e.zoom,e.heading,e.tilt]);(0,i.useLayoutEffect)(()=>{if(!p||!v)return;p.moveCamera(w);let e=p.addListener("bounds_changed",()=>{p.moveCamera(w)});return()=>e.remove()},[p,v,w]);let S=(0,i.useMemo)(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:b?-1:0},d),[d,b]),k=(0,i.useMemo)(()=>({map:p}),[p]);return"AUTH_FAILURE"===g?i.createElement("div",{style:Object.assign({position:"relative"},c?{}:S),className:c},i.createElement(e1,null)):i.createElement("div",Object.assign({ref:m,"data-testid":"map",style:c?void 0:S,className:c},u?{id:u}:{}),p?i.createElement(e3.Provider,{value:k},s):null)};e2.deckGLViewProps=!0;let e4=(e=null)=>{let t=(0,i.useContext)(Z),{map:n}=(0,i.useContext)(e3)||{};if(null===t)return!function(...e){let t=JSON.stringify(e);eq.has(t)||(eq.add(t),console.error(...e))}("useMap(): failed to retrieve APIProviderContext. Make sure that the component exists and that the component you are calling `useMap()` from is a sibling of the ."),null;let{mapInstances:r}=t;return null!==e?r[e]||null:n||r.default||null},e6=()=>{};function e9(e,t,n){let r=P(null!=n?n:e6),o=!!n;(0,i.useEffect)(()=>{if(!e||!t||!o)return;let n=google.maps.event.addListener(e,t,r);return()=>n.remove()},[e,t,o])}let e7=new class{constructor(){this.renderedStyles=new Set,this.styleElement=null}getStyleElement(){return this.styleElement||(this.styleElement=document.createElement("style"),this.styleElement.setAttribute("data-rgm-anchor-styles",""),document.head.appendChild(this.styleElement)),this.styleElement}addAdvancedMarkerPointerEventsOverwrite(){if(this.renderedStyles.has("marker-pointer-events"))return;let e=this.getStyleElement();e.textContent+=` gmp-advanced-marker[data-origin='rgm'] { pointer-events: none !important; } `,this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}},e5=i.createContext(null),te=["50%","100%"],tt=(0,i.forwardRef)((e,t)=>{let{children:n,style:r,className:o,anchorPoint:l}=e,[a,s]=function(e){var t,n,r,o,l;let[a,s]=(0,i.useState)(null),[u,c]=(0,i.useState)(null),d=e4(),f=X("marker"),{children:g,onClick:p,onKeyDown:m,onKeyUp:h,className:y,onMouseEnter:b,onMouseLeave:v,onDrag:E,onDragStart:O,onDragEnd:C,collisionBehavior:w,clickable:S,draggable:k,position:M,title:A,zIndex:L,anchorPoint:I,anchorLeft:P,anchorTop:x}=e,_=i.Children.count(g);return(0,i.useEffect)(()=>{if(!d||!f)return;let e=new f.AdvancedMarkerElement;e.map=d,s(e);let t=null;return _>0&&(e.content=t=document.createElement("div"),c(t)),()=>{e.map=null,null==t||t.remove(),s(null),c(null)}},[d,f,_]),(0,i.useEffect)(()=>{(null==a?void 0:a.content)&&tn(a.content)&&!(_>0)&&(a.content.className=null!=y?y:"")},[a,y,_]),t=a,n=I,r=P,o=x,l=_>0,(0,i.useEffect)(()=>{if(!t||!l)return;let e=function(){var e;if(!(null==(e=null==google?void 0:google.maps)?void 0:e.version))return;let t=google.maps.version.split("."),n=parseInt(t[0],10),r=parseInt(t[1],10);return n>3||3===n&&r>=62}(),a=t.content;if(a&&tn(a)){if(void 0!==r||void 0!==o){e||console.warn(`AdvancedMarker: The anchorLeft and anchorTop props are only supported in Google Maps API version 3.62 and above. The current version is ${google.maps.version}.`),t.anchorLeft=r,t.anchorTop=o,void 0!==n&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set.");return}if(void 0!==n){let[r,o]=null!=n?n:te,l=`calc(-1 * ${r})`,i=`calc(-1 * ${o})`;e?(t.anchorLeft=l,t.anchorTop=i,a.style.transform=""):(a.style.transform=`translate(50%, 100%) translate(${l}, ${i})`,t.dataset.origin="rgm",e7.addAdvancedMarkerPointerEventsOverwrite())}}},[t,n,r,o,l]),j(a,"position",M),j(a,"title",null!=A?A:""),j(a,"zIndex",L),j(a,"collisionBehavior",w),(0,i.useEffect)(()=>{a&&(void 0!==k?a.gmpDraggable=k:E||O||C?a.gmpDraggable=!0:a.gmpDraggable=!1)},[a,k,E,C,O]),(0,i.useEffect)(()=>{if(!a)return;let e=void 0!==S?S:!!p||!!m||!!h||!!b||!!v;a.gmpClickable=e,(null==a?void 0:a.content)&&tn(a.content)&&(a.content.style.pointerEvents=e?"all":"none",a.content.style.cursor=e&&p?"pointer":"")},[a,S,p,m,h,b,v]),e9(a,"drag",E),e9(a,"dragstart",O),e9(a,"dragend",C),N(a,"gmp-click",p),N(a,"keydown",m),N(a,"keyup",h),N(a,"mouseenter",b),N(a,"mouseleave",v),[a,u]}(e),u=(0,i.useMemo)(()=>a?{marker:a}:null,[a]);return((0,i.useImperativeHandle)(t,()=>a,[a]),s)?i.createElement(e5.Provider,{value:u},(0,k.createPortal)(i.createElement(tr,{anchorPoint:l,styles:r,className:o},n),s)):null});function tn(e){return e.nodeType===Node.ELEMENT_NODE}tt.displayName="AdvancedMarker";let tr=({children:e,styles:t,className:n})=>i.createElement("div",{className:n,style:t},e),to=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function tl(e){if(Array.isArray(e))return e.map(e=>tl(e));if(null===e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype)return e;let t={};for(let n of Object.keys(e))t[n]=tl(e[n]);return t}let ta=new WeakMap;function ti(e,t,{alreadyApplied:n=!1}={}){var r;if(n)return void ta.set(e,tl(t));let o=function(e,t){let n=null;for(let r of new Set([...Object.keys(t),...Object.keys(e)])){if(!to(e,r)){null!=n||(n=Object.create(null)),n[r]=null;continue}to(t,r)&&eR(t[r],e[r])||(null!=n||(n=Object.create(null)),n[r]=e[r])}return n}(t,null!=(r=ta.get(e))?r:{});o&&(e.setOptions(o),ta.set(e,tl(t)))}(0,i.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:o,onDrag:l,onDragStart:a,onDragEnd:s,onMouseOver:u,onMouseOut:c,onRadiusChanged:d,onCenterChanged:f,center:g,defaultCenter:p,radius:m,defaultRadius:h}=e,y=_(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onRadiusChanged","onCenterChanged","center","defaultCenter","radius","defaultRadius"]),[b,v]=(0,i.useState)(null),E=e4(),O=ea(Object.assign(Object.assign({},y),{clickable:null!=(t=y.clickable)?t:!!o,draggable:null!=(n=y.draggable)?n:!!(l||a||s||f),editable:null!=(r=y.editable)?r:!!d}),eR);return(0,i.useEffect)(()=>{if(!E){void 0===E&&console.error(" has to be inside a Map component.");return}let e=new google.maps.Circle(Object.assign(Object.assign({},O),{center:null!=g?g:p,radius:null!=m?m:h}));return ti(e,O,{alreadyApplied:!0}),e.setMap(E),v(e),()=>{e.setMap(null),v(null)}},[E]),e9(b,"click",o),e9(b,"drag",l),e9(b,"dragstart",a),e9(b,"dragend",s),e9(b,"mouseover",u),e9(b,"mouseout",c),e9(b,"radius_changed",d?()=>{let e=null==b?void 0:b.getRadius();void 0!==e&&d(e)}:null),e9(b,"center_changed",f?()=>{f(null==b?void 0:b.getCenter())}:null),(0,i.useEffect)(()=>{b&&ti(b,O)},[b,O]),(0,i.useEffect)(()=>{b&&g&&(eY(g,b.getCenter())||b.setCenter(g))},[b,g]),(0,i.useEffect)(()=>{b&&void 0!==m&&m!==b.getRadius()&&b.setRadius(m)},[b,m]),b}(e);return(0,i.useImperativeHandle)(t,()=>n,[n]),i.createElement(i.Fragment,null)}).displayName="Circle";let ts=e=>{let{children:t,headerContent:n,style:r,className:o,pixelOffset:l,anchor:a,shouldFocus:s,onClose:u,onCloseClick:c}=e,d=_(e,["children","headerContent","style","className","pixelOffset","anchor","shouldFocus","onClose","onCloseClick"]),f=X("maps"),[g,p]=(0,i.useState)(null),m=(0,i.useRef)(null),h=(0,i.useRef)(null),y=ea(d,eR);(0,i.useEffect)(()=>{if(!f)return;m.current=document.createElement("div"),h.current=document.createElement("div");let e=Object.assign({},y);l&&(e.pixelOffset=new google.maps.Size(l[0],l[1])),n&&(e.headerContent="string"==typeof n?n:h.current);let t=new google.maps.InfoWindow(e);return t.setContent(m.current),p(t),()=>{var e,n;t.setContent(null),null==(e=m.current)||e.remove(),null==(n=h.current)||n.remove(),m.current=null,h.current=null,p(null)}},[f]);let b=(0,i.useRef)(null);(0,i.useLayoutEffect)(()=>{g&&m.current&&(eB(m.current,r||null,b.current),b.current=r||null,o!==m.current.className&&(m.current.className=o||""))},[g,o,r]),(0,i.useEffect)(()=>{if(!g)return;let e=Object.assign({},y);l?e.pixelOffset=new google.maps.Size(l[0],l[1]):e.pixelOffset=null,n?e.headerContent="string"==typeof n?n:h.current:e.headerContent=null,g.setOptions(e)},[y,l,n]),e9(g,"close",u),e9(g,"closeclick",c);let v=e4();return(0,i.useEffect)(()=>{var e;if(!v||!g||null===a)return;let t=!!a,n={map:v};if(a&&(n.anchor=a,void 0!==a.content&&a.content instanceof Element)){let t=null==a?void 0:a.getBoundingClientRect();if(t&&"rgm"===a.dataset.origin){let n=null==(e=a.content.firstElementChild)?void 0:e.firstElementChild,r=null==n?void 0:n.getBoundingClientRect(),o=r.x-t.x+(r.width-t.width)/2,i=r.y-t.y,s=Object.assign({},y);s.pixelOffset=new google.maps.Size(l?l[0]+o:o,l?l[1]+i:i),g.setOptions(s)}}return void 0!==s&&(n.shouldFocus=s),g.open(n),()=>{t&&g.set("anchor",null),g.close()}},[g,a,v,s,y,l]),i.createElement(i.Fragment,null,m.current&&(0,k.createPortal)(t,m.current),null!==h.current&&(0,k.createPortal)(n,h.current))};function tu(e){let t=e.getPaths(),n=[];for(let e=0;e{let n=function(e){var t,n,r;let{onClick:o,onDrag:l,onDragStart:a,onDragEnd:s,onMouseOver:u,onMouseOut:c,onPathsChanged:d,polygon:f,encodedPaths:g,paths:p,defaultPaths:m}=e,h=_(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathsChanged","polygon","encodedPaths","paths","defaultPaths"]),[y,b]=(0,i.useState)(null),v=e4(),E=X("geometry"),O=(0,i.useRef)(!1),C=ea(Object.assign(Object.assign({},h),{clickable:null!=(t=h.clickable)?t:!!o,draggable:null!=(n=h.draggable)?n:!!(l||a||s||d),editable:null!=(r=h.editable)?r:!!d}),eR);return(0,i.useEffect)(()=>{let e;if(!v){void 0===v&&console.error(" has to be inside a Map component.");return}if(f){e=f;let t=null!=p?p:m;t&&Array.isArray(t)&&e.setPaths(t),e.setOptions(C)}else{let t=null!=p?p:m,n=Object.assign({},C);t&&Array.isArray(t)&&(n.paths=t),e=new google.maps.Polygon(n)}return ti(e,C,{alreadyApplied:!0}),e.setMap(v),b(e),()=>{e.setMap(null),b(null)}},[v,f]),e9(y,"click",o),e9(y,"drag",l),e9(y,"dragstart",a),e9(y,"mouseover",u),e9(y,"mouseout",c),e9(y,"dragend",e=>{null==s||s(e),d&&y&&!O.current&&d(tu(y))}),(0,i.useEffect)(()=>{if(!y||!d)return;let e=[],t=y.getPaths();if("function"!=typeof t.getLength||"function"!=typeof t.getAt)return;let n=()=>{O.current||d(tu(y))},r=t=>{e.push(google.maps.event.addListener(t,"insert_at",n)),e.push(google.maps.event.addListener(t,"remove_at",n)),e.push(google.maps.event.addListener(t,"set_at",n))};for(let e=0;e{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"set_at",e=>{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"remove_at",n)),()=>{e.forEach(e=>e.remove())}},[y,d,p,g,C.editable,C.draggable]),(0,i.useEffect)(()=>{y&&ti(y,C)},[y,C]),(0,i.useEffect)(()=>{y&&p&&Array.isArray(p)&&!function(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray().map(e=>e.getArray()):t;if(e.length!==n.length)return!1;for(let t=0;t{if(!y||!g||!E)return;O.current=!0;let e=g.map(e=>E.encoding.decodePath(e));y.setPaths(e),O.current=!1},[y,g,E]),y}(e);return(0,i.useImperativeHandle)(t,()=>n,[n]),i.createElement(i.Fragment,null)}).displayName="Polygon",(0,i.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:o,onDrag:l,onDragStart:a,onDragEnd:s,onMouseOver:u,onMouseOut:c,onPathChanged:d,polyline:f,encodedPath:g,path:p,defaultPath:m}=e,h=_(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathChanged","polyline","encodedPath","path","defaultPath"]),[y,b]=(0,i.useState)(null),v=e4(),E=X("geometry"),O=(0,i.useRef)(!1),C=ea(Object.assign(Object.assign({},h),{clickable:null!=(t=h.clickable)?t:!!o,draggable:null!=(n=h.draggable)?n:!!(l||a||s||d),editable:null!=(r=h.editable)?r:!!d}),eR);return(0,i.useEffect)(()=>{let e;if(!v){void 0===v&&console.error(" has to be inside a Map component.");return}if(f){e=f;let t=null!=p?p:m;t&&Array.isArray(t)&&e.setPath(t),e.setOptions(C)}else{let t=null!=p?p:m,n=Object.assign({},C);t&&Array.isArray(t)&&(n.path=t),e=new google.maps.Polyline(n)}return ti(e,C,{alreadyApplied:!0}),e.setMap(v),b(e),()=>{e.setMap(null),b(null)}},[v,f]),e9(y,"click",o),e9(y,"drag",l),e9(y,"dragstart",a),e9(y,"mouseover",u),e9(y,"mouseout",c),e9(y,"dragend",e=>{null==s||s(e),d&&y&&!O.current&&d(y.getPath().getArray())}),(0,i.useEffect)(()=>{if(!y||!d)return;let e=y.getPath();if(!e)return;let t=()=>{O.current||d(e.getArray())},n=[google.maps.event.addListener(e,"insert_at",t),google.maps.event.addListener(e,"remove_at",t),google.maps.event.addListener(e,"set_at",t)];return()=>{n.forEach(e=>e.remove())}},[y,d,p,g,C.editable,C.draggable]),(0,i.useEffect)(()=>{y&&ti(y,C)},[y,C]),(0,i.useEffect)(()=>{y&&p&&(e0(p,y.getPath())||(O.current=!0,y.setPath(p),O.current=!1))},[y,p]),(0,i.useEffect)(()=>{if(!y||!g||!E)return;O.current=!0;let e=E.encoding.decodePath(g);y.setPath(e),O.current=!1},[y,g,E]),y}(e);return(0,i.useImperativeHandle)(t,()=>n,[n]),i.createElement(i.Fragment,null)}).displayName="Polyline",(0,i.forwardRef)((e,t)=>{let n=function(e){let[t,n]=(0,i.useState)(null),r=e4(),{onClick:o,onDrag:l,onDragStart:a,onDragEnd:s,onMouseOver:u,onMouseOut:c}=e,d=_(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:f,draggable:g}=d;return(0,i.useEffect)(()=>{if(!r){void 0===r&&console.error(" has to be inside a Map component.");return}let e=new google.maps.Marker(d);return e.setMap(r),n(e),()=>{e.setMap(null),n(null)}},[r]),(0,i.useEffect)(()=>{if(!t)return;let e=google.maps.event;return o&&e.addListener(t,"click",o),l&&e.addListener(t,"drag",l),a&&e.addListener(t,"dragstart",a),s&&e.addListener(t,"dragend",s),u&&e.addListener(t,"mouseover",u),c&&e.addListener(t,"mouseout",c),t.setDraggable(!!g),()=>{e.clearInstanceListeners(t)}},[t,g,o,l,a,s,u,c]),(0,i.useEffect)(()=>{t&&d&&t.setOptions(d)},[t,d]),(0,i.useEffect)(()=>{!g&&f&&t&&t.setPosition(f)},[g,f,t]),t}(e);return(0,i.useImperativeHandle)(t,()=>n,[n]),i.createElement(i.Fragment,null)}).displayName="Marker",(0,i.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:o,onDrag:l,onDragStart:a,onDragEnd:s,onMouseOver:u,onMouseOut:c,onBoundsChanged:d,bounds:f,defaultBounds:g}=e,p=_(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onBoundsChanged","bounds","defaultBounds"]),[m,h]=(0,i.useState)(null),y=e4(),b=ea(Object.assign(Object.assign({},p),{clickable:null!=(t=p.clickable)?t:!!o,draggable:null!=(n=p.draggable)?n:!!(l||a||s||d),editable:null!=(r=p.editable)?r:!!d}),eR);return(0,i.useEffect)(()=>{if(!y){void 0===y&&console.error(" has to be inside a Map component.");return}let e=new google.maps.Rectangle(Object.assign(Object.assign({},b),{bounds:null!=f?f:g}));return ti(e,b,{alreadyApplied:!0}),e.setMap(y),h(e),()=>{e.setMap(null),h(null)}},[y]),e9(m,"click",o),e9(m,"drag",l),e9(m,"dragstart",a),e9(m,"dragend",s),e9(m,"mouseover",u),e9(m,"mouseout",c),e9(m,"bounds_changed",d?()=>{d(null==m?void 0:m.getBounds())}:null),(0,i.useEffect)(()=>{m&&ti(m,b)},[m,b]),(0,i.useEffect)(()=>{m&&f&&!function(e,t){if(!e||!t)return!1;let n=eX(e),r=eX(t);return n.north===r.north&&n.south===r.south&&n.east===r.east&&n.west===r.west}(f,m.getBounds())&&m.setBounds(f)},[m,f]),m}(e);return(0,i.useImperativeHandle)(t,()=>n,[n]),i.createElement(i.Fragment,null)}).displayName="Rectangle";var tc=n(49293),td=n(29476);let tf="dKbVyb",tg="97492c268b484efea51bbdb0",tp="CLASSIC",tm="SNOWWHITE",th="GRAYSCALE",ty="SATELLITE",tb={[tp]:tg,[tm]:"97492c268b484efca25c0674",[th]:"97492c268b484eff57e02cb3",[ty]:tg},tv={[tp]:"ROADMAP",[tm]:"ROADMAP",[th]:"ROADMAP",[ty]:"HYBRID"},tE=e=>0===e||!!e,tO=e=>null!=e&&e>=0&&e<=20,tC=i.memo(e=>{var t;let n,r,o,l,{location:i,infoWindowOpen:s,onMarkerClick:u,onInfoWindowClose:c,showDirectionLink:d,allyTargetBlankDescription:f}=e,g=(e=>{if(!e||!e.address)return;let t=new URL("https://www.google.com/maps/dir/");return t.searchParams.set("api","1"),t.searchParams.set("destination",e.address),t.toString()})(i),{isLinkValid:p,anchorProps:m}=(o=(r=(n=i?.locationLinkAttributes)&&"object"==typeof n&&"href"in n&&"string"==typeof n.href&&n.href)?{href:n.href,..."target"in n&&"string"==typeof n.target&&n.target?{target:n.target}:{},..."rel"in n&&"string"==typeof n.rel&&n.rel?{rel:n.rel}:{}}:{},{isLinkValid:!!r,anchorProps:o});if(!i||!tE(i.longitude)||!tE(i.latitude))return null;let h={lat:Number(i.latitude),lng:Number(i.longitude)},y=i.pinIcon&&(0,a.jsx)("div",{"aria-hidden":!0,"data-testid":"marker-svg",className:"ug7ltv",children:(t=i.pinIcon,l=(0,tc.Tp)(t,{xmlMode:!0,lowerCaseAttributeNames:!1}),(0,td.A)(l.children))}),b=(0,a.jsxs)("div",{children:[i.description&&(0,a.jsx)("p",{className:"erPUts",children:i.description}),i.linkTitle&&p&&(0,a.jsxs)("a",{className:tf,...m,"data-testid":"marker-link",children:[i.linkTitle,i.locationLinkAttributes?.target==="_blank"&&f&&(0,a.jsx)("span",{className:"gTl8fV",children:f})]}),d&&g&&(0,a.jsx)("a",{href:g,target:"_blank",rel:"noopener noreferrer",className:tf,"data-testid":"marker-directions-link","aria-label":`${i.directionTitle}. ${f}`,children:i.directionTitle})]});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tt,{position:h,title:i.title,onClick:()=>{u?.({type:"markerClicked",address:i.address,location:{latitude:i.latitude||0,longitude:i.longitude||0},icon:i.pinIcon||"",link:i.locationLinkAttributes?.href,title:i.title,linkTitle:i.linkTitle,description:i.description})},children:y}),s&&(0,a.jsx)(ts,{position:h,pixelOffset:[0,-32],shouldFocus:!1,maxWidth:300,minWidth:228,headerContent:i.title&&(0,a.jsx)("h2",{className:"TlDFAU",children:i.title}),onCloseClick:c,disableAutoPan:!0,children:b})]})}),tw=(0,i.forwardRef)((e,t)=>{let{id:n,mapData:r,translations:o,onUpdateCenter:l,onUpdateZoom:s,onMarkerClicked:u,onMapClicked:c,onMapMount:d}=e,f=e4(),g=(0,i.useRef)(f);(0,i.useEffect)(()=>{g.current=f},[f]);let p=(0,i.useMemo)(()=>tO(r.zoom)&&r.zoom||14,[r.zoom]);(0,i.useEffect)(()=>f?.setZoom(p),[p,f]);let m=(0,i.useMemo)(()=>r.defaultLocation>=0&&r.locations&&r.defaultLocation{if(!r.locations||0===r.locations.length)return{lat:0,lng:0};let e=r.locations[m];return{lat:e?.latitude??0,lng:e?.longitude??0}},[r.locations,m]);(0,i.useEffect)(()=>f?.setCenter(h),[h,f]);let[y,b]=(0,i.useState)(m);(0,i.useEffect)(()=>b(m),[m]);let v=(0,i.useCallback)(e=>{tO(e)&&s?.({zoom:e})},[s]),E=(0,i.useCallback)(e=>{e&&l?.({latitude:e.lat,longitude:e.lng})},[l]),O=(0,i.useCallback)(e=>{try{c&&e.detail.latLng&&c({type:"mapClicked",location:{latitude:e.detail.latLng.lat,longitude:e.detail.latLng.lng}})}catch(e){console.error("GoogleMap: Click handler error",{error:e instanceof Error?e.message:String(e),componentId:n})}},[c,n]);(0,i.useImperativeHandle)(t,()=>{var e;let t;return e=r.locations,t={setMapCenter:(e,t)=>{let n={lat:t,lng:e};return g.current&&n&&(g.current.setCenter(n),E(n)),Promise.resolve()},setMapZoom:e=>(g.current&&tO(e)&&(g.current.setZoom(e),v(e)),Promise.resolve()),fitBounds:e=>{if(g.current){let t=new google.maps.LatLngBounds({lat:e.south,lng:e.west},{lat:e.north,lng:e.east});g.current.fitBounds(t);let n=g.current.getCenter(),r=g.current.getZoom();n&&tO(r)&&(v(r),E({lat:n.lat(),lng:n.lng()}))}return Promise.resolve()},setMarkers:e=>Promise.resolve(),getVisibleMarkers:e=>{if(g.current){let t=g.current.getBounds();if(t)return Promise.resolve(e.filter(e=>{let n=new google.maps.LatLng(e.latitude,e.longitude);return t.contains(n)}).map(e=>({title:e.title,location:{latitude:e.latitude,longitude:e.longitude}})))}return Promise.resolve(e.map(e=>({title:e.title,location:{latitude:e.latitude,longitude:e.longitude}})))},setMarkerIcon:e=>Promise.resolve()},{setMapCenter:(e,n)=>t.setMapCenter(e,n),setMapZoom:e=>t.setMapZoom(e),fitBounds:e=>t.fitBounds(e),setMarkers:e=>t.setMarkers(e),setMarkerIcon:e=>t.setMarkerIcon(e),getVisibleMarkers:()=>t.getVisibleMarkers(e),getCenter:()=>{if(g.current&&g.current.getCenter){let e=g.current.getCenter();if(e)return{lat:()=>e.lat(),lng:()=>e.lng()}}return{lat:()=>0,lng:()=>0}},getZoom:()=>{if(g.current&&g.current.getZoom){let e=g.current.getZoom();return void 0!==e?e:14}return 14}}},[v,E,r.locations]),(0,i.useEffect)(()=>{d?.()},[d]);let C=(0,i.useMemo)(()=>{let e=r.mapStyleKey;return{mapId:tb[e]||tb.CLASSIC,mapTypeId:(tv[e]||tv.CLASSIC).toLowerCase()}},[r.mapStyleKey]),w=(0,i.useMemo)(()=>({fullscreenControl:!1,clickableIcons:!0,keyboardShortcuts:!0,disableDoubleClickZoom:!1,disableDefaultUI:!0,gestureHandling:r.mapInteractive?"auto":"none",mapTypeControl:r.showMapType,zoomControl:r.showZoom,streetViewControl:r.showStreetView,rotateControl:!1}),[r.mapInteractive,r.showMapType,r.showZoom,r.showStreetView]);return(0,a.jsx)(e2,{onCenterChanged:e=>E(e.detail.center),onZoomChanged:e=>v(e.detail.zoom),onClick:O,style:{width:"100%",height:"100%"},defaultCenter:h,defaultZoom:p,reuseMaps:!0,...w,...C,children:r.locations.map((e,t)=>(0,a.jsx)(tC,{location:e,infoWindowOpen:y===t&&!!(e.title||e.description||e.linkTitle||e.locationLinkAttributes||r.showDirectionsLink),onMarkerClick:e=>{b(y===t?null:t),u?.(e)},onInfoWindowClose:()=>b(null),showDirectionLink:r.showDirectionsLink,allyTargetBlankDescription:o.allyTargetBlankDescription},`${t}-${e.latitude}-${e.longitude}`))})}),tS=(0,i.forwardRef)((e,t)=>(0,a.jsx)(K,{apiKey:"AIzaSyCu6mU4lWgbxynxwy3yYJZcEZKO0QYnFu4",language:e.language,region:e.region,children:(0,a.jsx)(tw,{...e,ref:t})})),tk=(0,i.memo)(tS),tj={GoogleMap:{component:i.forwardRef((e,t)=>{let{isReactGoogleMap:n,...r}=e;return n?(0,a.jsx)(S,{...r,ref:t,MapContent:tk}):(0,a.jsx)(C,{...r,ref:t})}),controller:(l=e=>{let{stateValues:t,mapperProps:n}=e;return{...n,...{consentPolicy:t.currentConsentPolicy,openSettingModal:()=>t.openSettingModal([])}}},{useComponentProps:(e,t,n)=>l({mapperProps:e,stateValues:t,controllerUtils:{...n,updateStyles:e=>{let t=Object.entries(e).reduce((e,[t,n])=>({...e,[t.startsWith("--")?t:t.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)]:void 0===n?null:n}),{});n.updateStyles(t)}}})})}}},87006(t){t.exports=e},45904(e){e.exports=t}},u={};function c(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={exports:{}};return s[e].call(n.exports,n,n.exports,c),n.exports}c.m=s,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var o=Object.create(null);c.r(o);var l={};n=n||[null,r({}),r([]),r(r)];for(var a=2&t&&e;("object"==typeof a||"function"==typeof a)&&!~n.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach(t=>{l[t]=()=>e[t]});return l.default=()=>e,c.d(o,l),o},c.d=(e,t,n)=>{var r=(t,n)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,[n]:t[r]})};r(t,"get"),r(n,"value")},c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o=[],c.O=(e,t,n,r)=>{if(t){r=r||0;for(var l=o.length;l>0&&o[l-1][2]>r;l--)o[l]=o[l-1];o[l]=[t,n,r];return}for(var a=1/0,l=0;l=r)&&Object.keys(c.O).every(e=>c.O[e](t[s]))?t.splice(s--,1):(i=!1,r0===l[e],a=(e,t)=>{var n,r,[o,a,i]=t,s=0;if(o.some(e=>0!==l[e])){for(n in a)c.o(a,n)&&(c.m[n]=a[n]);if(i)var u=i(c)}for(e&&e(t);stypeof self?self:this).webpackJsonp__wix_editor_elements_library=("u">typeof self?self:this).webpackJsonp__wix_editor_elements_library||[]).forEach(a.bind(null,0)),i.push=a.bind(null,i.push.bind(i));var d=c.O(void 0,["87162"],()=>c(10121));return c.O(d)})());